The prevalent model for large scale customer information control systems is a single mainframe computer. Large numbers of transactions are accommodated by using multiple user application processes running on the singe mainframe, but in distinct address spaces. When two transactions running in such a system need to share context information, both transactions are executed in the same address space (i.e., by the same user application process) and the context information that needs to be shared is stored in "shared memory" within the common address space.
To help ensure that a transaction is executed by the same user application process that is used to execute any other transaction with which it may need to share context information, it has been necessary to determine, prior to execution of the transaction, the "transactional affinity" of the transaction with all other transactions executing on the customer information control system. The procedure for determining transactional affinity is complex, must be made before the intiation of transaction execution, and can cause the allocation of a transaction to a heavily loaded user application process while other user application processes are loaded much more lightly.
Examples of customer information control system API functions that can create inter-transaction affinities in the aforementioned prevalent model are the CICS Start transaction and CICS Cancel transaction functions. These functions are used by executing transactions to start additional transactions and to cancel the additional transactions prior to their execution being initiated. In order to enable use of the CICS Cancel transaction function, in particular, the prevalent model requires that the transaction that performs the CICS Cancel function be executed in the same address space as the transaction that earlier performed the corresponding CICS Start function.
It is a primary object of the present invention to provide a customer information control system in which transactions are assigned to application processes based on available processor resources (i.e, based on load balancing considerations), without regard to the potential or known need of the transactions to share context.
It is a related object of the present invention to provide a customer information control system in which transactions that include CICS Start transaction and CICS Cancel transaction function calls are assigned to application processes based on available processor resources (i.e, based on load balancing considerations) and do not need to be executed in the same address space, and furthermore do not need to be executed by the same server processor.